#include <iostream>
using namespace std;
int buscarDesdeAtras(string cadena, char caracter);
void rutaArchivos(string ruta, string &carpeta, string &extension);
int main ()

{
    string ruta, carpeta, extension;
    cout << "Ingrese una ruta" << endl;
    cin >> ruta;
    rutaArchivos(ruta, carpeta, extension);
    cout << carpeta << endl;
    cout << extension << endl;
}

int buscarDesdeAtras (string cadena, char caracter)
{
    int i;
    i = cadena.length() - 1;
    while (i>=0)
    {
        if (cadena[i] == caracter)
        {
            return i;
        }
        i= i-1;
    }
}



void rutaArchivos(string ruta, string &carpeta, string &extension)
{
    string rutacortada;
    int PosP, PosB1, PosB2;

    PosP = buscarDesdeAtras (ruta, '.');
    extension = ruta.substr (PosP + 1, ruta.length()-PosP-1);

    PosB1 = buscarDesdeAtras (ruta,'\\');
    rutacortada = ruta.substr (0, PosB1 -1);
    PosB2= buscarDesdeAtras (rutacortada, '\\');
    carpeta=ruta.substr (PosB2+1, PosB1-PosB2-1);
    return;
}
